Product custom select
This block renders either a dropdown, an enhanced dropdown, or a radio group for single selection inputs.
Related: Need to add fees to specific options? See Custom Option Fees.
Configuration steps
- In the Theme Editor, add Product custom select inside your product form block group.
- Enter the Line item property key (cart label).
- Fill in the Options field using separators such as commas, pipes (
|), or forward slashes between each choice—the block parses these formats most reliably. (Individual lines are supported but separators are the recommended default while Shopify addresses newline parsing quirks.) - Choose the Input style:
- Standard select: a native HTML select with optional placeholder.
- Enhanced select: renders a styled button/list but still syncs to a hidden native select for accessibility.
- Radio buttons: lays out each option as an accessible radio with labels.
- (Optional) Toggle Mark as required, add helper copy, and set font sizes and border radius to match your design.
- To attach an upcharge, enable Charge a fee for specific options and paste lines using
Option name|fee-product-handle(handles must match an existing hidden fee product). The block appends the fee price next to qualifying options automatically.
Shared features
All custom option blocks share these capabilities:
- Conditional display: Show or hide based on the value of another property using the Conditional logic settings. The block remains hidden and its inputs are disabled until the condition is met.
- Product tag filter: Limit to products with a specific tag using the Only show when product has tag setting.
- Width controls: Choose full or half width on tablet/desktop for easier layout mixing.
- Fee support: When paired with the optional Custom Option Fees script, specific selections can add a hidden product to the cart. Read more in Custom Option Fees.
How to name properties
- The Line item property key becomes the label in the cart and order details. Use plain text such as
Patch ColororEngraving. - Shopify automatically namespaces properties as
properties[Patch Color]behind the scenes; you only need to provide the key in the block settings. - Reuse the same property key across languages by translating the cart label in your locale files if needed.
Customer experience
- Selected values submit as
properties[Your key] = Selected optionin the cart. - Required inputs use native browser validation, and the enhanced dropdown mirrors the selection to the hidden
<select>so it works with keyboard navigation and screen readers.
Troubleshooting
- Confirm each property has a unique key before testing. Shopify overwrites duplicate property keys with the last value submitted.
- When fees are involved, preview the cart to ensure the correct fee product is added. Refer to Custom Option Fees for debugging tips.
- If a conditional block never appears, double-check the comparison value spelling—it compares lowercase, trimmed text behind the scenes.
See also: